package com.piggy.logi.sys.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.piggy.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 保证金编辑对象
 *
 * @author fengxy
 * @date 2023/10/17 21:44
 **/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("保证金编辑对象")
public class LogiMarginEditBo extends BaseEntity {

	/** 主键 */
	@ApiModelProperty("主键")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long id;

	/** 退回账号 */
	@ApiModelProperty("退回账号")
	@NotBlank(message = "退回账号不能为空")
	private String refundAccount;

	/** 退回账号类型（数据字典：account_type） */
	@ApiModelProperty("退回账号类型（数据字典：account_type）")
	@NotBlank(message = "退回账号类型不能为空")
	private String refundAccountType;

	/** 退回金额 */
	@ApiModelProperty("退回金额")
	@NotNull(message = "退回金额不能为空")
	private BigDecimal refundAmount;

	/** 退回方式（数据字典：pay_channel） */
	@ApiModelProperty("退回方式（数据字典：pay_channel）")
	@NotBlank(message = "退回方式不能为空")
	private String refundChannel;

	/** 退回时间 */
	@ApiModelProperty("退回时间")
	@NotNull(message = "退回时间不能为空")
	private Date refundTime;

	/** 退回凭证 */
	@ApiModelProperty("退回凭证")
	private String refundVoucher;

	/** 退回备注 */
	@ApiModelProperty("退回备注")
	private String refundRemark;

}
